// bool, Obj This, point pt

Hero this;
str cmmd;

this = This.AsHero();

if(!.IsValid()) return false;	
if(!.HasArmy()) return false;
if(.InHolder()) return false;
if(!.EnemiesInSight()) return false;
cmmd = .command;
if(cmmd == "retreat_notai") return false;
if(cmmd == "retreat_bld_notai") return false;
if(cmmd == "great_charge") return false;	 

return true;
